<?php
function check_directory() {
	global $rutaFicheros;

	// XXX ¿Y si es un enlace?
	if (!is_dir($rutaFicheros))
		return FALSE;
	else
		return TRUE;
}

/*
 * Devuelve un array con la lista de ficheros que están recogidos en la base 
 * de datos y además existen en el directorio de subida.
 */
function valid_uploaded_files() {
	global $rutaFicheros;
	global $db;

	$ficheros = array();

	// Almacenamos temporalmente los ficheros de la base de datos
	$DbFiles = $db->get_results("SELECT * FROM ficheros");

	// ¿Hay ficheros registrados?
	if (!$DbFiles) {
		return $ficheros;
	}

	// Abrimos el directorio
	$FSFiles = array();

	$dir = opendir($rutaFicheros); // No comprobamos con check_directory
	if (!$dir) {
		errdiv("Error abriendo directorio de ficheros");
	} else {
		while (($fichero = readdir($dir)) !== false) {
			if ($fichero != '..' && $fichero != '.') {
				$FSFiles[$fichero] = TRUE;
			}
		}
		closedir($dir);
	}

	// Comprobamos las coincidencias
	foreach ($DbFiles as $f) {
		if ($FSFiles[$f->nombre] == TRUE) {
			array_push($ficheros, $f);
		}
	}

	return $ficheros;

}

/*
 * Función para reemplazar a mime_content_type si no existe
 */

if (!function_exists('mime_content_type ')) {
	function mime_content_type($filename) {
		$finfo    = finfo_open(FILEINFO_MIME);
		$mimetype = finfo_file($finfo, $filename);
		finfo_close($finfo);
		return $mimetype;
	}
}

?>
